import { get, post, put } from './index'

// 默认 openId（可后续通过配置或环境变量注入）
export const DEFAULT_OPEN_ID = 'oPuM75EOWAjk_q9fOSSZvWjiQdek'

// 微信小程序登录 - 参考小程序的登录流程
export const wechatMiniLogin = (appId, code) => {
	return get(`/api/wechat/mini/${appId}/login?code=${code}`)
}

// 用户登录 - 通过 openId 登录
export const login = (openId) => {
	return post('/api/user/login', { openId })
}

// 使用默认 openId 登录
// 默认 openId 登录（供外部可能直接使用）
export const loginWithDefaultOpenId = () => login(DEFAULT_OPEN_ID)

// OAuth2.0 相关接口
// 获取OAuth2授权URL
export const getAuthUrl = () => {
	return get('/api/auth/llt/generateAuthUrl')
}

// 通过LLT Code登录
export const loginByLLTCode = (code) => {
	return post('/api/user/loginByLLTCode', { code })
}

// 手机号登录
export const loginByPhone = (phone, code) => {
	return post('/api/user/login/phone', { phone, code })
}

// 获取用户信息
export const getUserInfo = () => {
	return get('/api/user/info')
}

// 获取污染源信息 - 参考小程序接口
export const locationPollution = () => {
	return post('/api/bizPollutionSourceInfo/getByBind')
}

// 更新用户信息
export const updateUserInfo = (data) => {
	return put('/api/user/update', data)
}

// 绑定企业
export const bindEnterprise = (data) => {
	return post('/api/user/bind-enterprise', data)
}

// 解绑企业
export const unbindEnterprise = () => {
	return post('/api/user/unbind-enterprise')
}

// 获取用户绑定的企业列表
export const getUserEnterprises = () => {
	return get('/api/user/enterprises')
}

// 切换当前企业
export const switchEnterprise = (enterpriseId) => {
	return post('/api/user/switch-enterprise', { enterpriseId })
}

// 获取用户权限信息
export const getUserPermissions = () => {
	return get('/api/user/permissions')
}

// 退出登录
export const logout = () => {
	return post('/api/user/logout')
}

// 通过openid登录
export const loginByOpenId = (openid) => {
	return post('/api/user/login', { openId: openid })
}
